In a data center environment, virtualization can be utilized to consolidate resources for several, otherwise independent computers each running a single application. For example, a business may implement a network having three separate computers, one each as a Web server, a database server, and an email server. Separate computers implemented to each run a single application can be significantly underutilized and is an inefficient use of the resources. The three business servers can be consolidated into one physical device that is a virtual host computer of three virtual machines, and each one of the virtual machines can independently run one of the business server applications.
Each virtual machine is a software component of the virtual host computer that has the appearance of having its own processor, disk drives, network controller, and the like. However, a virtualization manager efficiently utilizes and allocates shared resources for the virtual machines, such as common processors and memory. Data centers having multiple, independent computers can be virtualized to consolidate hardware, resources, and systems management.
In a virtual environment having more than one virtual host computer, and each being a virtual host of any number of virtual machines, one virtual machine can be moved or “migrated” from one virtual host computer to another. A virtual machine may be moved from one virtual host computer to another for various reasons, such as load balancing, to perform maintenance on the virtual host, for task sharing, and the like. The virtual hard drives for a virtual machine of a virtual host computer tend to be of large size, and typically in the order of gigabytes. When a virtual machine is migrated from one virtual host computer to another, transferring the corresponding large data files can take a considerably long time. Further, the virtual machine that is being migrated is shut down and unavailable during the migration process from one virtual host computer to another.